21.合并两个有序链表 (Merge Two Sorted Lists)¶
问题描述¶
英文¶
Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.
Example:
Input: 1->2->4, 1->3->4
Output: 1->1->2->3->4->4
解决方案¶
Python¶
方法 1 (Method 1):¶
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
def mergeTwoLists(self, l1: ListNode, l2: ListNode) -> ListNode:
head = p = ListNode(None)
while l1 and l2:
if l1.val<l2.val:
p.next,l1 = l1,l1.next
else:
p.next,l2 = l2,l2.next
p = p.next
if l1:
p.next = l1
else:
p.next = l2
return head.next
执行结果 (Submissions):¶
执行用时 :40 ms, 在所有 python3 提交中击败了95.22%的用户
内存消耗 :12.6 MB, 在所有 python3 提交中击败了99.38%的用户